#ifndef IF_ACTIONSELECTORINTERFACE_H
#define IF_ACTIONSELECTORINTERFACE_H

#include "QString"

/**
 * This is a GUI independent interface that allows the selection
 * of a script action.
 * Virtual method ::IF_EventSelectorInterface::selectEvent may be
 * implemented via GUI or not.
 */

class IF_ActionSelectorInterface
{
public:

   typedef enum
   {
      NoAction,
      LightAction,
      MediaAction,
      PictureAction
   } Type;

   IF_ActionSelectorInterface() :
      m_actionType(NoAction)
   {
   }

   virtual void selectEvent( Type actionType) = 0;

   Type getActionType() {
      return m_actionType;
   }

   QString getActionId() {
      return m_actionId;
   }

protected:
   Type m_actionType;
   /** string that identifies the action, given the type */
   QString m_actionId;
};

#endif // IF_ACTIONSELECTORINTERFACE_H
